One or more embodiments disclosed within this specification relate to load balancing. More particularly, one or more embodiments relate to load balancing based upon data usage.
Content management systems typically utilize caching techniques to provide faster response times when serving requested data. Storing data in a cache, e.g., caching data, can reduce the load placed upon a content management system that is tasked with serving data to clients. For example, a Website can include a plurality of different pages. Frequently requested pages can be stored in a cache memory of the content management system. A cached page can be delivered to the requesting client in less time than a page that is not cached.
As a Website grows in size, e.g., number of pages, and/or a larger number of users begins to access the Website, memory caching can become less effective. An increase in the size of a Website can result in a smaller percentage of that Website being available in the cache memory of the content management system resulting in a potential reduction in the cache hit rate and a corresponding reduction in content management system performance. Increases in the number of users of a Website can be handled by clustering multiple servers together to handle the increased load. Each server in the server cluster can maintain a cache memory. Maintaining cache memories across each server in the server cluster can create significant network traffic thereby reducing efficiency of the system.